package com.hw.paltfrom.controller.system;

import java.util.List;
import java.util.Map;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.baomidou.mybatisplus.mapper.EntityWrapper;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.hw.paltfrom.mapper.HwbaseDataItemMapper;
import com.hw.paltfrom.pack.ResponseResult;
import com.hw.paltfrom.pojo.HwBaseDataItem;
import com.hw.paltfrom.rescode.HWSystemCode;
import com.hw.paltfrom.service.system.DataDictionaryServer;
import com.hw.paltfrom.utils.VerifyUtil;
import com.hw.paltfrom.vo.BaseDataItemVo;


/**
 *字典分类
 * 曹荣坤
 * 2019年11月6日15:06:04
 */

@RestController
@RequestMapping(value = "/dataDictionary")
public class DataDictionaryController {

	@Autowired
	private DataDictionaryServer dictionaryServer;
	
	@Autowired
	private HwbaseDataItemMapper dataItemMapper;
	@RequestMapping(value = "/test")
	public Map<String, Object> test(String userID){
		Wrapper<HwBaseDataItem> namewrapper = new EntityWrapper<HwBaseDataItem>();
//		页码和 每页数据量 需要前端传递
		PageHelper.startPage(1,2);
		List<HwBaseDataItem> dataItemList = dataItemMapper.selectList(namewrapper);
		PageInfo<HwBaseDataItem> info=new PageInfo<>(dataItemList);
		return ResponseResult.successNotice(HWSystemCode.SUCCESS, info);
	}
	
//	前端必须区分 传递过来的是 编码 还是 名称，不同类型 对应 不同vo字段
	@RequestMapping(value = "/query")
	public Map<String, Object> Query(BaseDataItemVo vo) {
		Boolean flag = VerifyUtil.verifyParams(vo);
		if (!flag) {
			return ResponseResult.fail(HWSystemCode.PARAMS_ERROR);
		}
		return dictionaryServer.queryAllList(vo);

	}
	
//	数据字典插入
	@RequestMapping(value = "/insert")
	public Map<String, Object> insert(BaseDataItemVo vo) {
		Boolean flag = VerifyUtil.verifyParams(vo);
		if (!flag) {
			return ResponseResult.fail(HWSystemCode.PARAMS_ERROR);
		}
		return dictionaryServer.insert(vo);

	}
	
//	数据字典更新 或 删除
	@RequestMapping(value = "/update")
	public Map<String, Object> update(BaseDataItemVo vo) {
		Boolean flag = VerifyUtil.verifyParams(vo);
		if (!flag) {
			return ResponseResult.fail(HWSystemCode.PARAMS_ERROR);
		}
		return dictionaryServer.update(vo);

	}
}
